#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <assert.h>
#include <math.h>
#include <limits.h>
#define LOCAL_TEST 1
#define M 0

/*
 * sum(x[i..j]) = s
 */
int given_sum(int x[], int n, int req){
	int i, j, ans, s;
	for(ans=0, s=0, i=j=0; i<n ; ){
		if(s==req){
			s -= x[i++];
			++ans;
			if(j>=n) break;
		}
		else if(s>req){
			s -= x[i++];
		}else{
			if(j>=n) break;
			s += x[j++];
		}
	}
	return ans;
}

/*
 * given n, find i, j  sum(i..j)=n
 */
int ssum(int n){
	int ans;
	int i, j, s;
	for(s=j=1; s<n; s+=++j);
	for(i=1; i<=n/2; ){
		if(s>n){
			s -= i++;
		}else{
			if(s==n) ++ans;
			s += j++;
		}
	}
	return ans;

}
static void solve(void){
}

#if LOCAL_TEST
void run(void){
		solve();
}
#endif
